Skip to content

[WIP] quit: finishing quic#62662

Draft
jasnell wants to merge 34 commits intonodejs:mainfrom
jasnell:jasnell/more-quic-improvements
Draft

[WIP] quit: finishing quic#62662
jasnell wants to merge 34 commits intonodejs:mainfrom
jasnell:jasnell/more-quic-improvements

Conversation

@jasnell
Copy link
Copy Markdown
Member

@jasnell jasnell commented Apr 10, 2026

WIP... finishing quic... more to do

Signed-off-by: James M Snell jasnell@gmail.com

jasnell added 30 commits April 9, 2026 07:32
Signed-off-by: James M Snell <jasnell@gmail.com>
Signed-off-by: James M Snell <jasnell@gmail.com>
Assisted-by: Opencode:Opus 4.6
Signed-off-by: James M Snell <jasnell@gmail.com>
Assisted-by: Opencode:Opus 4.6
Signed-off-by: James M Snell <jasnell@gmail.com>
Assisted-by: Opencode:Opus 4.6
Signed-off-by: James M Snell <jasnell@gmail.com>
Assisted-by: Opencode:Opus 4.6
Improve stream priority, headers support detection,
and http3 session ticket app data

- Replace sendOrder with proper priority/incremental support using
  packed uint32 encoding across the JS/C++ boundary
- Rename StreamPriorityFlags to NON_INCREMENTAL/INCREMENTAL, fix the
  inverted incremental flag logic in the HTTP/3 application
- Add Application::SupportsHeaders() virtual and HeadersSupportState
  session state flag to detect header support at enqueue time and
  hard-error at drain time if headers are unsupported
- Implement HTTP/3 session ticket app data serialization with version
  byte, CRC32 integrity check, and big-endian encoding of six HTTP/3
  settings for 0-RTT resumption validation
- Return both urgency and incremental from GetStreamPriority via new
  StreamPriorityResult struct

Signed-off-by: James M Snell <jasnell@gmail.com>
Assisted-by: Opencode:Opus 4.6
Replace the unused sendOrder option with a working priority mechanism
that supports RFC 9218 urgency levels and the incremental flag.
Streams expose a setPriority({ level, incremental }) method and a
priority getter returning { level, incremental } or null. Priority
can also be set at stream creation time via options. Headers support
detection throws ERR_INVALID_STATE when attempting to send headers
on a non-header-supporting application protocol.

Signed-off-by: James M Snell <jasnell@gmail.com>
Assisted-by: Opencode:Opus 4.6
Signed-off-by: James M Snell <jasnell@gmail.com>
Assisted-by: Opencode:Opus 4.6
Signed-off-by: James M Snell <jasnell@gmail.com>
Signed-off-by: James M Snell <jasnell@gmail.com>
Signed-off-by: James M Snell <jasnell@gmail.com>
Signed-off-by: James M Snell <jasnell@gmail.com>
Signed-off-by: James M Snell <jasnell@gmail.com>
Signed-off-by: James M Snell <jasnell@gmail.com>
Signed-off-by: James M Snell <jasnell@gmail.com>
@nodejs-github-bot
Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/gyp
  • @nodejs/security-wg

@nodejs-github-bot nodejs-github-bot added lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants